#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <float.h>

#define LIST 124

#if (LIST == 123)

// 1-23 double转换为int类型示例
int main(void)
{
    double d1=2147483648.01;
    int i1=0;
    if(d1>(double)INT_MAX||d1<(double)INT_MIN)
    {
    }
    else
    {
        i1=(int)d1;
    }
    printf("i1=%d\n",i1);
    return 0;
}

#elif (LIST == 124)
// 1-24 double与float类型转换示例
int main(void)
{
    long double ld1=1.7976931348623158e+308;
    double d1=1.0;
    double d2=1.0;
    float f1=1.0f;
    float f2=1.0f;
    /*double->float*/
    if(d1>FLT_MAX||d1<FLT_MIN)
    {
    }
    else
    {
        f1=(float)d1;
    }
    /*long double->double*/
    if(ld1>DBL_MAX||ld1<DBL_MIN)
    {
    }
    else
    {
        d2=(double)ld1;
    }
    /*long double->float*/
    if(ld1>FLT_MAX||ld1<FLT_MIN)
    {
    }
    else
    {
        f2=(float)ld1;
    }
    return 0;
}

#endif